﻿using System;
using System.Data;

using System.Data.SqlTypes;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Evaluation3.utils
{
	/// <summary>
	/// Summary description for httpUtil.
	/// </summary>
	public class httpUtils : System.Web.UI.Page
	{
		public httpUtils()
		{
			//
			// TODO: Add constructor logic here
			//
		}
        public static bool IS_EMPTY(String value) {
            return (value == null) || (value.Trim().Length == 0) || value == "0";
        }
		public static void SETOBJECTSESSION(Object o) {
        }

        #region GetPostRequest()
        /// <summary>
        /// TungLA 27-05-2007
        /// Method dùng để lấy ra thông tin request do người dùng post lên
        /// </summary>
        /// <param name="modname">mã của module</param>
        /// <returns>Giá trị của module tương ứng</returns>
        public string GetPostRequest(string modname)
        {
            return HttpContext.Current.Request[modname];
        }
        #endregion

        #region ControlPath()
        /// <summary>
        /// Tùng LA 27-05-2007
        /// Method đọc file Controls.xml để lấy ra đường dẫn của các UC tương ứng
        /// </summary>
        /// <param name="mod">Tên của module</param>
        /// <returns>Đường dẫn thực của UC</returns>
        public HtmlGenericControl LoadModule(string mod)
        {
            //Đọc vào file config đường dẫn các UC
            DataTable dt = new DataTable("CtrLst");
            //dt.ReadXml(HttpContext.Current.Request.PhysicalApplicationPath + "Controls.xml");

            DataSet ds = new DataSet();
            ds.ReadXml(HttpContext.Current.Request.PhysicalApplicationPath + "Controls.xml");
            dt = ds.Tables[0];
            ds.Dispose();
            
            HtmlGenericControl hg = new HtmlGenericControl("div");
            Control ctr = new Control();

            //So sánh với yêu cầu để lấy ra đúng đường dẫn tương ứng với UC
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["module"].ToString()==GetPostRequest(mod))
                {   
                    ctr = Page.LoadControl(dt.Rows[i]["Path"].ToString());
                    hg.Controls.Add(ctr);
                }
            }
            return hg;          
        }
        #endregion
    }
}
